﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F95 RID: 3989
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMapInfo : IMessage<RogueMapInfo>, IMessage, IEquatable<RogueMapInfo>, IDeepCloneable<RogueMapInfo>, IBufferMessage
	{
		// Token: 0x17003288 RID: 12936
		// (get) Token: 0x0600B2A8 RID: 45736 RVA: 0x001E26C7 File Offset: 0x001E08C7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMapInfo> Parser
		{
			get
			{
				return RogueMapInfo._parser;
			}
		}

		// Token: 0x17003289 RID: 12937
		// (get) Token: 0x0600B2A9 RID: 45737 RVA: 0x001E26CE File Offset: 0x001E08CE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMapInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700328A RID: 12938
		// (get) Token: 0x0600B2AA RID: 45738 RVA: 0x001E26E0 File Offset: 0x001E08E0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMapInfo.Descriptor;
			}
		}

		// Token: 0x0600B2AB RID: 45739 RVA: 0x001E26E7 File Offset: 0x001E08E7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMapInfo()
		{
		}

		// Token: 0x0600B2AC RID: 45740 RVA: 0x001E26FC File Offset: 0x001E08FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMapInfo(RogueMapInfo other) : this()
		{
			this.areaId_ = other.areaId_;
			this.curSiteId_ = other.curSiteId_;
			this.roomList_ = other.roomList_.Clone();
			this.curRoomId_ = other.curRoomId_;
			this.mapId_ = other.mapId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600B2AD RID: 45741 RVA: 0x001E2761 File Offset: 0x001E0961
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMapInfo Clone()
		{
			return new RogueMapInfo(this);
		}

		// Token: 0x1700328B RID: 12939
		// (get) Token: 0x0600B2AE RID: 45742 RVA: 0x001E2769 File Offset: 0x001E0969
		// (set) Token: 0x0600B2AF RID: 45743 RVA: 0x001E2771 File Offset: 0x001E0971
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint AreaId
		{
			get
			{
				return this.areaId_;
			}
			set
			{
				this.areaId_ = value;
			}
		}

		// Token: 0x1700328C RID: 12940
		// (get) Token: 0x0600B2B0 RID: 45744 RVA: 0x001E277A File Offset: 0x001E097A
		// (set) Token: 0x0600B2B1 RID: 45745 RVA: 0x001E2782 File Offset: 0x001E0982
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurSiteId
		{
			get
			{
				return this.curSiteId_;
			}
			set
			{
				this.curSiteId_ = value;
			}
		}

		// Token: 0x1700328D RID: 12941
		// (get) Token: 0x0600B2B2 RID: 45746 RVA: 0x001E278B File Offset: 0x001E098B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueRoom> RoomList
		{
			get
			{
				return this.roomList_;
			}
		}

		// Token: 0x1700328E RID: 12942
		// (get) Token: 0x0600B2B3 RID: 45747 RVA: 0x001E2793 File Offset: 0x001E0993
		// (set) Token: 0x0600B2B4 RID: 45748 RVA: 0x001E279B File Offset: 0x001E099B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurRoomId
		{
			get
			{
				return this.curRoomId_;
			}
			set
			{
				this.curRoomId_ = value;
			}
		}

		// Token: 0x1700328F RID: 12943
		// (get) Token: 0x0600B2B5 RID: 45749 RVA: 0x001E27A4 File Offset: 0x001E09A4
		// (set) Token: 0x0600B2B6 RID: 45750 RVA: 0x001E27AC File Offset: 0x001E09AC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MapId
		{
			get
			{
				return this.mapId_;
			}
			set
			{
				this.mapId_ = value;
			}
		}

		// Token: 0x0600B2B7 RID: 45751 RVA: 0x001E27B5 File Offset: 0x001E09B5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMapInfo);
		}

		// Token: 0x0600B2B8 RID: 45752 RVA: 0x001E27C4 File Offset: 0x001E09C4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMapInfo other)
		{
			return other != null && (other == this || (this.AreaId == other.AreaId && this.CurSiteId == other.CurSiteId && this.roomList_.Equals(other.roomList_) && this.CurRoomId == other.CurRoomId && this.MapId == other.MapId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600B2B9 RID: 45753 RVA: 0x001E2844 File Offset: 0x001E0A44
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.AreaId != 0U)
			{
				num ^= this.AreaId.GetHashCode();
			}
			if (this.CurSiteId != 0U)
			{
				num ^= this.CurSiteId.GetHashCode();
			}
			num ^= this.roomList_.GetHashCode();
			if (this.CurRoomId != 0U)
			{
				num ^= this.CurRoomId.GetHashCode();
			}
			if (this.MapId != 0U)
			{
				num ^= this.MapId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600B2BA RID: 45754 RVA: 0x001E28DC File Offset: 0x001E0ADC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600B2BB RID: 45755 RVA: 0x001E28E4 File Offset: 0x001E0AE4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600B2BC RID: 45756 RVA: 0x001E28F0 File Offset: 0x001E0AF0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.CurRoomId != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.CurRoomId);
			}
			this.roomList_.WriteTo(ref output, RogueMapInfo._repeated_roomList_codec);
			if (this.CurSiteId != 0U)
			{
				output.WriteRawTag(40);
				output.WriteUInt32(this.CurSiteId);
			}
			if (this.AreaId != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.AreaId);
			}
			if (this.MapId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.MapId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600B2BD RID: 45757 RVA: 0x001E2994 File Offset: 0x001E0B94
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.AreaId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.AreaId);
			}
			if (this.CurSiteId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurSiteId);
			}
			num += this.roomList_.CalculateSize(RogueMapInfo._repeated_roomList_codec);
			if (this.CurRoomId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurRoomId);
			}
			if (this.MapId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MapId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600B2BE RID: 45758 RVA: 0x001E2A30 File Offset: 0x001E0C30
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMapInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.AreaId != 0U)
			{
				this.AreaId = other.AreaId;
			}
			if (other.CurSiteId != 0U)
			{
				this.CurSiteId = other.CurSiteId;
			}
			this.roomList_.Add(other.roomList_);
			if (other.CurRoomId != 0U)
			{
				this.CurRoomId = other.CurRoomId;
			}
			if (other.MapId != 0U)
			{
				this.MapId = other.MapId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600B2BF RID: 45759 RVA: 0x001E2AB9 File Offset: 0x001E0CB9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600B2C0 RID: 45760 RVA: 0x001E2AC4 File Offset: 0x001E0CC4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 26U)
				{
					if (num == 8U)
					{
						this.CurRoomId = input.ReadUInt32();
						continue;
					}
					if (num == 26U)
					{
						this.roomList_.AddEntriesFrom(ref input, RogueMapInfo._repeated_roomList_codec);
						continue;
					}
				}
				else
				{
					if (num == 40U)
					{
						this.CurSiteId = input.ReadUInt32();
						continue;
					}
					if (num == 88U)
					{
						this.AreaId = input.ReadUInt32();
						continue;
					}
					if (num == 112U)
					{
						this.MapId = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004837 RID: 18487
		private static readonly MessageParser<RogueMapInfo> _parser = new MessageParser<RogueMapInfo>(() => new RogueMapInfo());

		// Token: 0x04004838 RID: 18488
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004839 RID: 18489
		public const int AreaIdFieldNumber = 11;

		// Token: 0x0400483A RID: 18490
		private uint areaId_;

		// Token: 0x0400483B RID: 18491
		public const int CurSiteIdFieldNumber = 5;

		// Token: 0x0400483C RID: 18492
		private uint curSiteId_;

		// Token: 0x0400483D RID: 18493
		public const int RoomListFieldNumber = 3;

		// Token: 0x0400483E RID: 18494
		private static readonly FieldCodec<RogueRoom> _repeated_roomList_codec = FieldCodec.ForMessage<RogueRoom>(26U, RogueRoom.Parser);

		// Token: 0x0400483F RID: 18495
		private readonly RepeatedField<RogueRoom> roomList_ = new RepeatedField<RogueRoom>();

		// Token: 0x04004840 RID: 18496
		public const int CurRoomIdFieldNumber = 1;

		// Token: 0x04004841 RID: 18497
		private uint curRoomId_;

		// Token: 0x04004842 RID: 18498
		public const int MapIdFieldNumber = 14;

		// Token: 0x04004843 RID: 18499
		private uint mapId_;
	}
}
